//导入 Node.js 内置的 querystring 模块
const qs = require('querystring')


const bodyParser = (req, res, next) => {
    //定义中间件具体的业务逻辑
    //1.定义一个 str 字符串，专门用来存储客户端发送过来的请求体数据
    let str = ''
    //2. 监听 req 的 data 事件
    req.on('data', (chunk) => {
        str += chunk
    })
    //3. 监听 req 的 end 事件
    req.on('end', () => {
        //在 str 中存放的是完整的请求体数据
        console.log(str);
        //TODO：把字符串格式的请求体数据，解析成对象格式
        const body = qs.parse(str)
        req.body = body
        next()
    })
    
}

module.exports = bodyParser